﻿// <copyright file="UriHelper.cs" company="N/A">
//     Copyright (c) Nicholas Barrett and Benjamin Kasten.  All rights reserved.
//
//     This program is free software; you can redistribute it and/or modify it
//     under the terms of the GNU General Public License as published by the
//     Free Software Foundation; either version 2 of the License, or (at your
//     option) any later version.
//
//     This program is distributed in the hope that it will be useful, but
//     WITHOUT ANY WARRANTY; without even the implied warranty of
//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
//     Public License for more details.
//
//     You should have received a copy of the GNU General Public License along
//     with this program; if not, write to the Free Software Foundation, 
//     Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// </copyright>

namespace BetterAzureTableStorage
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// Helper utilities for Uri objects
    /// </summary>
    public class UriHelper
    {
        /// <summary>
        /// Combines the specified URIs without duplicating slashes.
        /// </summary>
        /// <param name="uris">The URIs to combine.</param>
        /// <returns>A string of URIs delimited by slash.</returns>
        public static string Combine(params string[] uris)
        {
            StringBuilder builder = new StringBuilder();

            foreach (string uri in uris)
            {
                string myUri = uri;

                myUri = myUri.Trim('/');

                builder.Append(myUri + "/");
            }

            return builder.ToString().TrimEnd('/');
        }
    }
}
